Typically, when a user conducts a search by entering search keywords at a search web page, the search engine matches the search keywords to documents stored in a documents database. Documents that are textually or semantically similar to the search keywords are ranked according to corresponding historical click rates, for example. Documents that are ranked higher among the search results are sent back to the user. For example, a document may comprise a web page or an advertisement.
A problem with such conventional searches is that during searches, often, keywords included in the documents are used to match against the search keywords, and some documents may include misleading keywords that are intended to increase the exposure of the documents but that may deceive users. For example, a merchant's main products are pianos but in order to draw more people to view the merchant's web page where the merchant sells pianos, the merchant gives the web page a title that is related to a popular mobile phone. When users who have searched for the popular mobile phone click on the link corresponding to the merchant, they find web page information related to pianos, which is not what the users had intended to search for. Thus, the users' time is wasted and also the users may need to perform additional searches to find the products or information they were actually looking for. These repeated searches add additional strain on the server.